The present invention generally relates to data communication, and particularly to a system and method for automatically detecting and responding to the transmission settings used by a data communication transmitter. More specifically, the present invention is designed to automatically configure both the word format interpreter, as well as automatically select the type of terminal needed to be emulated at the data communication receiver.
Anyone who has ever spent much time with a computer knows that installing just about anything new can be both a frustrating and time consuming experience. Even when all of the hardware and software is properly installed, the addition of a new capability can present yet another challenge to the user. For example, something as simple as calling a new telephone number with a computer is not as easy as it sounds. With normal voice telephone communication, only a telephone number is needed to initiate a telephone call, and absolutely nothing is needed to answer an incoming call. However, this is not the case with computer-to-computer telecommunication or other forms of serial communication between computers. In order for two computers to communicate effectively, each of them must be able to understand the codes that the other is transmitting, whether these codes represent text, control or screen characters. Even a person's ability to understand a spoken word, such as "Hello", depends upon a knowledge of the English language. In other words, the mere act of providing a computer with the telephone number of another computer will not guarantee that either computer will be able to understand even a single character of text from the other. Rather, various disparate communication settings must be properly configured in order for two computers to communicate through a modem or other data stream interface.
Unfortunately, the configuration of a computer's communication settings is possibly one of the least understood aspects of using a computer. For example, while most people have a general understanding that "baud rate" is somehow a measure of communication speed, relatively few people fully appreciate what this measurement means or realize that the effective baud rate can be considerably different than the rating of the modem itself. Additionally, the user is usually confronted with determining several interrelated settings for interpreting a computer "word" which are less than intuitive, such as parity, the number of data bits and the number of stop bits. For example, the parity setting could be configured with one of the following choices: none, even, odd, mark or space. In contrast, the number of data bits could alternatively be configured with numbers such as 8, 7, 6, or 5, depending upon the choice made for the parity setting. Likewise, the number of stop bits could alteratively be configured with numbers such as 1, 1.5 or 2, depending upon the choices already made for the other two settings.
Furthermore, computers generally communicate with each other as though they were a specific type of standard "terminal" that would be connected to a particular host computer, even though only the smallest of micro-computers are involved in the communication. Generally speaking, a computer terminal includes at a minimum a keyboard for entering information from the host computer, and a display, such as a CRT (cathode ray tube), for viewing information from the host computer. The technique of simulating the operation of a computer terminal is called terminal emulation, and it is needed in order to convey non-text character codes between computers. For example, screen codes are needed in order to properly display text and graphics, such as wrapping text onto the next line of the monitor or screen when the line of text would otherwise extend beyond the fight edge of the screen. Control codes are also used to execute a command, such as "break" to interrupt communication between the computers. There are various types of terminal standards currently in use, such as ANSI, VT100, TTY and IBM3278, and each of these terminals have their own complete set of key code meanings and display sequences.
Unless all of this information has already been programmed into a computer, it will be up to the computer user to intelligently enter this information into his/her computer for each telephone number or computer system that the user needs or desires to conduct a communication session. In light of the fact that there is a multitude of commercial, vendor support and private bulletin board services available to a computer user today, the user may have to repeat the process of configuring the communication settings quite a number of times without really having a reasonable understanding of the underlying process. In other words, one of the more important aspects of computer operation today, that is the ability to communicate with other computers, still remains a repetitive and relatively obscure procedure.
Accordingly, it is a principal objective of the present invention to provide a method and system for automatically detecting the data communication settings being used by another computer, and automatically configuring the data communication settings to this computer, without necessarily having any advance knowledge of the computer other than a telephone number or interface address.
It is another objective of the present invention to provide an auto-detect method and system which is capable of detecting both the transmission word format and the terminal standard being employed without requiring any user intervention or pre-arranged communication protocol or handshaking procedure.
It is a further objective of the present invention to provide an auto-detect method and system which is independent of the data being transmitted or the specific modem sets or interfaces being employed.
It is an additional objective of the present invention to provide an auto-detect method and system which is capable of turning itself off, as well as checking for line noise and reinitialization requests.